﻿//字符运用的注意点
//#include<stdio.h>
//int main()
//{
//	int a['10'];
//	int b['0'];
//	int c = '789';//只能存储一个字符，即从前往后会替换，存储'9'字符
//	fprintf(stdout, "数组a的大小: %d\n数组b的大小: %d\n", sizeof(a) / 4
//		, sizeof(b) / 4);
//	fprintf(stdout, "%c", c);
//	return 0;
//}

//局部与全局的注意
//#include<stdio.h>
//int x = 5, y = 7;
//void swap()
//{
//	int t = x;
//	x = y;
//	y = t;
//}
//int main()
//{
//	//在局部中重新定义，将会在此局部中替换全局中的原本值
//	int x = 3, y = 8;
//	swap();
//	fprintf(stdout, "x = %d y = %d\n", x, y);//输出3 8
//	return 0;
//}

//运算&&的注意
//#include<stdio.h>
//int main()
//{
//	int a = 1, b = 2, m = 0, n = 0, k;
//	//在(n = b < a) 为假，后面的式子将不会运行，所以m值不变
//	k = (n = b < a) && (m = a);
//	fprintf(stdout, "%d %d", k, m);//都将输出0 0
//	return 0;
//}

//sizeof的运算注意
//#include<stdio.h>
//int main()
//{
//	int i = 1;
//	//sizeof在编译阶段就执行了，在其内任何的运算都不执行，所以i值还为1
//	sizeof(i++);
//	fprintf(stdout, "%d", i);//输出1
//	return 0;
//}

//'0' <= x <= '9'在高级语言中的逻辑
//#include<stdio.h>
//int main()
//{
//	char x = 'A';
//	//在'0' <= x <= '9'运算中，先执行'0' <= x，然后拿这个表达式的值与'9'比较
//	//其中'0' <= x的值为1，1 <= '9'成立，所以整体为真
//	if ('0' <= x <= '9')
//	{
//		puts("YES");
//	}
//	else
//	{
//		puts("NO");
//	}
//	//将输出YES
//	return 0;
//}